HAL DCACHE IRQ Handler and Callbacks functions migration

This section provides information about the HAL DCACHE function migration.

HAL DCACHE IRQ Handler

HAL1

HAL2

HAL_DCACHE_IRQHandler(DCACHE_HandleTypeDef *hdcache)
HAL_DCACHE_IRQHandler(hal_dcache_handle_t *hdcache)

HAL DCACHE Error callback

HAL1

HAL2

HAL_DCACHE_ErrorCallback(DCACHE_HandleTypeDef *hdcache)
HAL_DCACHE_ErrorCallback(hal_dcache_handle_t *hdcache)

HAL DCACHE clean by address callback

HAL1

HAL2

HAL_DCACHE_CleanByAddrCallback(DCACHE_HandleTypeDef *hdcache)
HAL_DCACHE_CleanByAddrCallback(hal_dcache_handle_t *hdcache)

HAL DCACHE invalidate by address callback

HAL1

HAL2

HAL_DCACHE_InvalidateByAddrCallback(DCACHE_HandleTypeDef *hdcache)
HAL_DCACHE_InvalidateByAddrCallback(hal_dcache_handle_t *hdcache)

HAL DCACHE invalidate operation complete Callback

HAL1

HAL2

HAL_DCACHE_InvalidateCompleteCallback(DCACHE_HandleTypeDef *hdcache)
HAL_DCACHE_InvalidateCompleteCallback(hal_dcache_handle_t *hdcache)

HAL DCACHE clean and invalidate by address callback

HAL1

HAL2

HAL_DCACHE_CleanAndInvalidateByAddrCallback(DCACHE_HandleTypeDef *hdcache)
HAL_DCACHE_CleanInvalidByAddrCallback(hal_dcache_handle_t *hdcache)

HAL DCACHE Callbacks register functions

In HAL1, the function HAL_DCACHE_RegisterCallback is used to register various DCACHE callbacks through a single function with a specific callback ID, whereas, in HAL2, distinct functions are available to register each specific DCACHE callback.

HAL 1

HAL 2

DCACHE Clean By Address Callback

HAL_DCACHE_RegisterCallback(&hdcache,
                            HAL_DCACHE_CLEAN_BY_ADDRESS_CB_ID,
                            USER_DCACHE_CleanByAddrCallback);
HAL_DCACHE_RegisterCleanByAddrCallback(&hdcache,
                                       USER_DCACHE_CleanByAddrCallback);

DCACHE Invalidate By Address callback

HAL_DCACHE_RegisterCallback(&hdcache,
                            HAL_DCACHE_INVALIDATE_BY_ADDRESS_CB_ID,
                            USER_DCACHE_InvalidateByAddrCallback);
HAL_DCACHE_RegisterInvalidateByAddrCallback(&hdcache,
                                            USER_DCACHE_InvalidateByAddrCallback);

DCACHE Clean And Invalidate By Address callback

HAL_DCACHE_RegisterCallback(&hdcache,
                            HAL_DCACHE_CLEAN_AND_INVALIDATE_BY_ADDRESS_CB_ID,
                            USER_DCACHE_CleanAndInvalidateByAddrCallback);
HAL_DCACHE_RegisterCleanInvalidByAddrCallback(&hdcache,
                                              USER_DCACHE_CleanAndInvalidateByAddrCallback);

DCACHE Invalidate Complete callback

HAL_DCACHE_RegisterCallback(&hdcache,
                            HAL_DCACHE_INVALIDATE_COMPLETE_CB_ID,
                            USER_DCACHE_InvalidateCompleteCallback);
HAL_DCACHE_RegisterInvalidateCompleteCallback(&hdcache,
                                              USER_DCACHE_InvalidateCompleteCallback);

DCACHE Error callback

HAL_DCACHE_RegisterCallback(&hdcache,
                            HAL_DCACHE_ERROR_CB_ID,
                            USER_DCACHE_ErrorCallback);
HAL_DCACHE_RegisterErrorCallback(&hdcache,
                                 USER_DCACHE_ErrorCallback);

HAL DCACHE Callbacks unregister functions

In HAL2, the unregister callback API has been removed. Instead, callbacks can be managed by re-registering the default HAL DCACHE weak callbacks as needed.

HAL 1

HAL 2

DCACHE Clean By Address Callback

HAL_DCACHE_UnRegisterCallback(&hdcache,
                              HAL_DCACHE_CLEAN_BY_ADDRESS_CB_ID);
HAL_DCACHE_RegisterCleanByAddrCallback(&hdcache,
                                       HAL_DCACHE_CleanByAddrCallback);

DCACHE Invalidate By Address callback

HAL_DCACHE_UnRegisterCallback(&hdcache,
                              HAL_DCACHE_INVALIDATE_BY_ADDRESS_CB_ID);
HAL_DCACHE_RegisterInvalidateByAddrCallback(&hdcache,
                                            HAL_DCACHE_InvalidateByAddrCallback);

DCACHE Clean And Invalidate By Address callback

HAL_DCACHE_UnRegisterCallback(&hdcache,
                              HAL_DCACHE_CLEAN_AND_INVALIDATE_BY_ADDRESS_CB_ID);
HAL_DCACHE_RegisterCleanInvalidByAddrCallback(&hdcache,
                                              HAL_DCACHE_CleanInvalidByAddrCallback);

DCACHE Invalidate Complete callback

HAL_DCACHE_UnRegisterCallback(&hdcache,
                              HAL_DCACHE_INVALIDATE_COMPLETE_CB_ID);
HAL_DCACHE_RegisterInvalidateCompleteCallback(&hdcache,
                                              HAL_DCACHE_InvalidateCompleteCallback);

DCACHE Error callback

HAL_DCACHE_UnRegisterCallback(&hdcache,
                              HAL_DCACHE_ERROR_CB_ID);
HAL_DCACHE_RegisterErrorCallback(&hdcache,
                                 HAL_DCACHE_ErrorCallback);